package oop;

/**
 * Created with IntelliJ IDEA.
 * ClassName: RecursionExer01
 * Package: oop
 * Description:
 * User: fzykd
 *
 * @Author: LQH
 * Date: 2023-11-19
 * Time: 20:00
 */

public class RecursionExer01 {

    //这两个函数 实例 就和斐波那契数列一样 往已知的方向去靠

    //已知一个数列f(20) = 1,f(21) = 4 ,f(n+2) = 2*f(n+1) + f(n)
    //其中n是大于0的整数 求f(10)的值
    public int f(int n) {
        if (n == 20) {
            return 1;
        } else if (n == 21) {
            return 4;
        } else {
            //朝着一直的方向就走 越加越大 加到 f(20) 和 f(21)
            return f(n + 2) - 2 * f(n + 1);
        }
    }


    //已知一个数列 f(0) = 1,f(1) = 4
    //f(n+2) = 2*f(n+1) + f(n) 其中n是大于0的数 求f(10)的值
    public int f1(int n) {
        if (n == 0) {
            return 1;
        } else if (n == 1) {
            return 4;
        } else {
            //f(n+2) = 2*f(n+1) + f(n)
            //变化一下  数学里面的 n+2看成n
            //f(n) =  2*f(n+1-2) + f(n-2)
            return 2 * f(n - 1) + f(n - 2);
        }
    }


}
